*********************************************************
*********************************************************  
*** GBR 2024 --- JPE Revision Package *******************
*** Code for Appendices A-B Figures and Tables **********
*** Public (anonymized) *********************************
*********************************************************


**************************
**** Run analysis file ***
**** for studies 1 to 3 **
**************************

clear all
set more off

cd ".../JPEReplicationPackageDataverse/"
qui: do GBR24AnalysisStudies1-2-3.do



**************************
** Figures in Appendix A *
**************************


** Figure A1: screenshot from software



** Figure A2: Mean Labor Supply per Scheme Split by Median Belief that Gender Discrimination Determined Wages in Study 2
* Find median belief in each scheme for low-wage workers of any gender and then by gender
* Median belief is 0 in U, 4 in UID, and 5 in UED (scale of PE9_UsedDiscrimination is 0 to 6)
sum PE9_UsedDiscrimination if lowwage_U==1, detail
sum PE9_UsedDiscrimination if lowwage_UID==1, detail
sum PE9_UsedDiscrimination if lowwage_UED==1, detail
* Median belief for men is 0 in U, 3 in UID, and 5 in UED
sum PE9_UsedDiscrimination if lowwage_U==1 & woman==0, detail
sum PE9_UsedDiscrimination if lowwage_UID==1 & woman==0, detail
sum PE9_UsedDiscrimination if lowwage_UED==1 & woman==0, detail
* Median belief for women is 0 in U, 4 in UID and 6 in UED
sum PE9_UsedDiscrimination if lowwage_U==1 & woman==1, detail
sum PE9_UsedDiscrimination if lowwage_UID==1 & woman==1, detail
sum PE9_UsedDiscrimination if lowwage_UED==1 & woman==1, detail
** Create variables for below/at median vs. above median, for each scheme
* For both genders together
* The U classification is standard: at/below vs. above median (0)
gen U_abovemedian_PE9_Discr=0 if ///
lowwage_U==1 & PE9_UsedDiscrimination==0
replace U_abovemedian_PE9_Discr=1 if ///
lowwage_U==1 & PE9_UsedDiscrimination==1 ///
| lowwage_U==1 &  PE9_UsedDiscrimination==2 ///
| lowwage_U==1 &  PE9_UsedDiscrimination==3 ///
| lowwage_U==1 & PE9_UsedDiscrimination==4 ///
| lowwage_U==1 & PE9_UsedDiscrimination==5 ///
| lowwage_U==1 & PE9_UsedDiscrimination==6
* The UID classification is standard: at/below vs. above median (4)
gen UID_abovemedian_PE9_Discr=0 if ///
lowwage_UID==1 & PE9_UsedDiscrimination==0 ///
| lowwage_UID==1 & PE9_UsedDiscrimination==1 ///
| lowwage_UID==1 &  PE9_UsedDiscrimination==2 ///
| lowwage_UID==1 &  PE9_UsedDiscrimination==3 ///
| lowwage_UID==1 & PE9_UsedDiscrimination==4
replace UID_abovemedian_PE9_Discr=1 if ///
lowwage_UID==1 & PE9_UsedDiscrimination==5 ///
| lowwage_UID==1 & PE9_UsedDiscrimination==6
* The UED classification is standard: at/below vs. above median (5)
gen UED_abovemedian_PE9_Discr=0 if ///
lowwage_UED==1 & PE9_UsedDiscrimination==0 ///
| lowwage_UED==1 & PE9_UsedDiscrimination==1 ///
| lowwage_UED==1 &  PE9_UsedDiscrimination==2 ///
| lowwage_UED==1 &  PE9_UsedDiscrimination==3 ///
| lowwage_UED==1 & PE9_UsedDiscrimination==4 ///
| lowwage_UED==1 & PE9_UsedDiscrimination==5
replace UED_abovemedian_PE9_Discr=1 if ///
lowwage_UED==1 & PE9_UsedDiscrimination==6 

gen U_UID_UED_PE9_UsedDiscr_category=0 if UID_abovemedian_PE9_Discr==0 ///
| UED_abovemedian_PE9_Discr==0 | U_abovemedian_PE9_Discr==0
replace U_UID_UED_PE9_UsedDiscr_category=1 if UID_abovemedian_PE9_Discr==1 ///
| UED_abovemedian_PE9_Discr==1  | U_abovemedian_PE9_Discr==1
label variable U_UID_UED_PE9_UsedDiscr_category "Indicator belief faced discr: 0below vs. 1above median"

tab U_abovemedian_PE9_Discr
tab UID_abovemedian_PE9_Discr
tab UED_abovemedian_PE9_Discr

* For men
* The U classification is standard: at/below vs. above median (0)
gen U_men_abovemedian_PE9_Discr=0 if ///
woman==0 & lowwage_U==1 & PE9_UsedDiscrimination==0
replace U_men_abovemedian_PE9_Discr=1 if ///
woman==0 & lowwage_U==1 & PE9_UsedDiscrimination==1 ///
| woman==0 & lowwage_U==1 &  PE9_UsedDiscrimination==2 ///
| woman==0 & lowwage_U==1 &  PE9_UsedDiscrimination==3 ///
| woman==0 & lowwage_U==1 & PE9_UsedDiscrimination==4 ///
| woman==0 & lowwage_U==1 & PE9_UsedDiscrimination==5 ///
| woman==0 & lowwage_U==1 & PE9_UsedDiscrimination==6
* The UID classification is standard: at/below vs. above median (3)
gen UID_men_abovemedian_PE9_Discr=0 if ///
woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==0 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==1 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==2 ///
| woman==0 & lowwage_UID==1 &  PE9_UsedDiscrimination==3
replace UID_men_abovemedian_PE9_Discr=1 if ///
woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==4 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==5 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==6
* The UED classification is standard: at/below vs. above median (5)
gen UED_men_abovemedian_PE9_Discr=0 if ///
woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==0 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==1 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==2 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==3 ///
| woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==4 ///
| woman==0 & lowwage_UID==1 &  PE9_UsedDiscrimination==5
replace UED_men_abovemedian_PE9_Discr=1 if ///
woman==0 & lowwage_UID==1 & PE9_UsedDiscrimination==6

gen m_U_UID_UED_PE9_UsedDiscr_categ=0 if ///
woman==0 & UID_abovemedian_PE9_Discr==0 ///
| woman==0 & UED_abovemedian_PE9_Discr==0 ///
| woman==0 & U_abovemedian_PE9_Discr==0
replace m_U_UID_UED_PE9_UsedDiscr_categ=1 if ///
woman==0 & UID_abovemedian_PE9_Discr==1 ///
| woman==0 & UED_abovemedian_PE9_Discr==1 ///
| woman==0 & U_abovemedian_PE9_Discr==1
label variable m_U_UID_UED_PE9_UsedDiscr_categ "Indicator belief faced discr, for men: 0below vs. 1above median"

tab U_men_abovemedian_PE9_Discr
tab UID_men_abovemedian_PE9_Discr
tab UED_men_abovemedian_PE9_Discr

* For women
* The U classification is standard: at/below vs. above median (0)
gen U_women_abovemedian_PE9_Discr=0 if ///
woman==1 & lowwage_U==1 & PE9_UsedDiscrimination==0
replace U_women_abovemedian_PE9_Discr=1 if ///
lowwage_U==1 & PE9_UsedDiscrimination==1 ///
| woman==1 & lowwage_U==1 &  PE9_UsedDiscrimination==2 ///
| woman==1 & lowwage_U==1 &  PE9_UsedDiscrimination==3 ///
| woman==1 & lowwage_U==1 & PE9_UsedDiscrimination==4 ///
| woman==1 & lowwage_U==1 & PE9_UsedDiscrimination==5 ///
| woman==1 & lowwage_U==1 & PE9_UsedDiscrimination==6
* The UID classification is standard: at/below vs. above median (4)
gen UID_women_abovemedian_PE9_Discr=0 if ///
woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==0 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==1 ///
| woman==1 & lowwage_UID==1 &  PE9_UsedDiscrimination==2 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==3 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==4 
replace UID_women_abovemedian_PE9_Discr=1 if ///
woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==5 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==6
* The UED classification is different: at/below vs. above median (6)
* This is because the median is the maximum category
gen UED_women_abovemedian_PE9_Discr=0 if ///
woman==1 & woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==0 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==1 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==2 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==3 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==4 ///
| woman==1 & lowwage_UID==1 & PE9_UsedDiscrimination==5
replace UED_women_abovemedian_PE9_Discr=1 if ///
woman==1 & lowwage_UID==1 &  PE9_UsedDiscrimination==6

gen w_U_UID_UED_PE9_UsedDiscr_categ=0 if ///
woman==1 & UID_abovemedian_PE9_Discr==0 ///
| woman==1 & UED_abovemedian_PE9_Discr==0 ///
| woman==1 & U_women_abovemedian_PE9_Discr==0
replace w_U_UID_UED_PE9_UsedDiscr_categ=1 if ///
woman==1 & UID_abovemedian_PE9_Discr==1 ///
| woman==1 & UED_abovemedian_PE9_Discr==1 ///
| woman==1 & U_women_abovemedian_PE9_Discr==1
label variable m_U_UID_UED_PE9_UsedDiscr_categ "Indicator belief faced discr, for women: 0below vs. 1above median"

tab U_women_abovemedian_PE9_Discr
tab UID_women_abovemedian_PE9_Discr
tab UED_women_abovemedian_PE9_Discr

* Colors:
*rgb(255 215 0): yellow
*rgb(255 177 78): gold
*rgb(250 135 117): pink-beige
*rgb(234 95 148): pink
*rgb(205 52 181): pink-purple
*rgb(157 2 215): purple
*rgb(0 0 255): dark blue

* Panel a: both genders
graph bar (mean) sd_l if lowwage_U==1 | lowwage_UID==1 | lowwage_UED==1, ///
over(U_UID_UED_PE9_UsedDiscr_category, gap(*4) ///
relabel(1 "Below or at  Median Belief" 2 "Above Median Belief")) ///
over(anywage_category_study2, gap(*4) relabel(1 "Uneq" 2 "UneqIm" 3 "UneqDiscr")) ///
yscale(range(-0.3(0.05)0.3)) ylabel(-0.3(0.05)0.3, angle(0) glcolor(black*0.2)) exclude0 ytitle(Mean Labor Supply) /// 
asyvars legend(position(4) ring(0)) graphregion(color(white)) ///
 outergap(*3) bargap(5) ///
bar(1, bcolor(234 95 148) blcolor(gs4) blwidth(medium)) ///
bar(2, bcolor(157 2 215) blcolor(gs4) blwidth(medium))
graph export ".../JPEReplicationPackageDataverse/Figures/GBR24_FigureA2_a_all.eps", as(eps) replace
* Panel b: women
graph bar (mean) sd_l_gender if  lowwage_U==1 & woman==1 ///
| lowwage_UID==1 & woman==1 | lowwage_UED==1 & woman==1 ///
, over(w_U_UID_UED_PE9_UsedDiscr_categ, gap(*4) ///
relabel(1 "Below or at Median Belief" 2 "Above Median Belief")) ///
over(anywage_category_study2, gap(*4) relabel(1 "Uneq" 2 "UneqIm" 3 "UneqDiscr")) ///
yscale(range(-0.35(0.05)0.35)) ylabel(-0.35(0.05)0.35, angle(0) glcolor(black*0.2)) exclude0 ytitle(Mean Labor Supply) /// 
asyvars legend(position(4) ring(0)) graphregion(color(white)) ///
 outergap(*3) bargap(5) ///
bar(1, bcolor(234 95 148) blcolor(gs4) blwidth(medium)) ///
bar(2, bcolor(157 2 215) blcolor(gs4) blwidth(medium))
graph export ".../JPEReplicationPackageDataverse/Figures/GBR24_FigureA2_b_women.eps", as(eps) replace
* Panel c: men
graph bar (mean) sd_l_gender if lowwage_U==1 & woman==0 ///
|lowwage_UID==1 & woman==0 | lowwage_UED==1 & woman==0 ///
, over(m_U_UID_UED_PE9_UsedDiscr_categ, gap(*4) ///
relabel(1 "Below or at Median Belief" 2 "Above Median Belief")) ///
over(anywage_category_study2, gap(*4) relabel(1 "Uneq" 2 "UneqIm" 3 "UneqDiscr")) ///
yscale(range(-0.35(0.05)0.35)) ylabel(-0.35(0.05)0.35, angle(0) glcolor(black*0.2)) exclude0 ytitle(Mean Labor Supply) /// 
asyvars legend(position(4) ring(0)) graphregion(color(white)) ///
 outergap(*3) bargap(5) ///
bar(1, bcolor(234 95 148) blcolor(gs4) blwidth(medium)) ///
bar(2, bcolor(157 2 215) blcolor(gs4) blwidth(medium))
graph export ".../JPEReplicationPackageDataverse/Figures/GBR24_FigureA2_c_men.eps", as(eps) replace
* Note to Figure A2 (N per scheme)
count if U_UID_UED_PE9_UsedDiscr_category==0 & lowwage_U==1
count if U_UID_UED_PE9_UsedDiscr_category==1 & lowwage_U==1
count if U_UID_UED_PE9_UsedDiscr_category==0 & lowwage_UID==1
count if U_UID_UED_PE9_UsedDiscr_category==1 & lowwage_UID==1
count if U_UID_UED_PE9_UsedDiscr_category==0 & lowwage_UED==1
count if U_UID_UED_PE9_UsedDiscr_category==1 & lowwage_UED==1
count if w_U_UID_UED_PE9_UsedDiscr_categ==0 & lowwage_U==1 & woman==1
count if w_U_UID_UED_PE9_UsedDiscr_categ==1 & lowwage_U==1 & woman==1
count if w_U_UID_UED_PE9_UsedDiscr_categ==0 & lowwage_UID==1 & woman==1
count if w_U_UID_UED_PE9_UsedDiscr_categ==1 & lowwage_UID==1 & woman==1
* Below median (<6) and at median (6) in UED for low-wage women (none above median because maximum is 6)
count if PE9_UsedDiscrimination<6 & lowwage_UED==1 & woman==1
count if PE9_UsedDiscrimination==6 & lowwage_UED==1 & woman==1
count if PE9_UsedDiscrimination>6 & lowwage_UED==1 & woman==1
count if m_U_UID_UED_PE9_UsedDiscr_categ==0 & lowwage_U==1 & woman==0
count if m_U_UID_UED_PE9_UsedDiscr_categ==1 & lowwage_U==1 & woman==0
count if m_U_UID_UED_PE9_UsedDiscr_categ==0 & lowwage_UID==1 & woman==0
count if m_U_UID_UED_PE9_UsedDiscr_categ==1 & lowwage_UID==1 & woman==0
count if m_U_UID_UED_PE9_UsedDiscr_categ==0 & lowwage_UED==1 & woman==0
count if m_U_UID_UED_PE9_UsedDiscr_categ==1 & lowwage_UED==1 & woman==0









**************************
** Tables in Appendix A **
**************************



** Table A1: Demographic Characteristics of Workers
* Study 1
* All schemes
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==1
est clear
estpost tabstat age num_approvals woman student nat_uk white employed parttime ///
unemployed notInPaidJob otheremployment if study==1, c(stat) stat(mean sd) 
esttab, ///
 cells("mean(fmt(%13.2fc)) sd(fmt(%13.2fc))") nonumber ///
  nomtitle nonote noobs label collabels("Mean" "SD")
esttab using  ".../JPEReplicationPackageDataverse/Tables/demographics_study1_allschemes.tex", replace ///
  main(mean %15.2f) aux(sd %15.2f) nostar nonumber unstack ///
   compress nonote noobs gap label booktabs f   ///
   collabels(none) ///
   eqlabels("All schemes") /// 
   nomtitles 
* Each scheme separately
gen schemes4=0 if low_equal==1
replace schemes4=1 if high_equal==1
replace schemes4=2 if low_unequal==1 | high_unequal==1
replace schemes4=3 if low_disc==1 | high_disc==1

sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==1 & low_equal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==1 & high_equal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==1 & low_unequal==1 | study==1 & high_unequal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==1 & low_disc==1 | study==1 & high_disc==1
est clear
estpost tabstat age num_approvals woman student nat_uk white employed parttime ///
unemployed notInPaidJob otheremployment if study==1, by(schemes4) c(stat) stat(mean sd) nototal
esttab, main(mean) aux(sd) nostar nonumber unstack ///
   nonote noobs label ///
   collabels(none) ///
   eqlabels("EqLow" "EqHigh" "Uneq" "UneqDisc") /// 
   nomtitles
 esttab using ".../JPEReplicationPackageDataverse/Tables/demographics_study1_byscheme.tex", replace ///
  main(mean %15.2f) aux(sd %15.2f) nostar nonumber unstack ///
   compress nonote noobs gap label booktabs f   ///
   collabels(none) ///
   eqlabels("EqLow" "EqHigh" "Uneq" "UneqDisc") /// 
   nomtitles  
* F-test for each characteristic 
reg age i.schemes4 if study==1, vce(robust)
reg num_approvals i.schemes4 if study==1, vce(robust)
reg woman i.schemes4 if study==1, vce(robust)
reg student i.schemes4 if study==1, vce(robust)
reg nat_uk i.schemes4 if study==1, vce(robust)
reg white i.schemes4 if study==1, vce(robust)
reg employed i.schemes4 if study==1, vce(robust)
reg parttime i.schemes4 if study==1, vce(robust)
reg unemployed i.schemes4 if study==1, vce(robust)
reg notInPaidJob i.schemes4 if study==1, vce(robust)
reg otheremployment i.schemes4 if study==1, vce(robust)

* Study 2
* Both schemes
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==2
est clear
estpost tabstat age num_approvals woman student nat_uk white employed parttime ///
unemployed notInPaidJob otheremployment if study==2, c(stat) stat(mean sd) 
esttab, ///
 cells("mean(fmt(%13.2fc)) sd(fmt(%13.2fc))") nonumber ///
  nomtitle nonote noobs label collabels("Mean" "SD")
  esttab using  ".../JPEReplicationPackageDataverse/Tables/demographics_study2_allschemes.tex", replace ///
  main(mean %15.2f) aux(sd %15.2f) nostar nonumber unstack ///
   compress nonote noobs gap label booktabs f   ///
   collabels(none) ///
   eqlabels("All schemes") /// 
   nomtitles 
* Each scheme
gen schemes3=0 if low_unequal==1 & study==2 | high_unequal==1 & study==2
replace schemes3=1 if lowwage_UID==1 & study==2 | highwage_UID==1 & study==2
replace schemes3=2 if low_disc==1 & study==2 | high_disc==1 & study==2

sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==2
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==2 & low_unequal==1 | study==2 & high_unequal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==2 & lowwage_UID==1 | study==2 & highwage_UID==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==2 & low_disc==1 | study==2 & high_disc==1
est clear
estpost tabstat age num_approvals woman student nat_uk white employed parttime ///
unemployed notInPaidJob otheremployment if study==2, by(schemes3) c(stat) stat(mean sd) nototal
esttab, main(mean) aux(sd) nostar nonumber unstack ///
   nonote noobs label ///
   collabels(none) ///
   eqlabels("Uneq" "UneqImp" "UneqDisc") /// 
   nomtitles
 esttab using ".../JPEReplicationPackageDataverse/Tables/demographics_study2_byscheme.tex", replace ///
  main(mean %15.2f) aux(sd %15.2f) nostar nonumber unstack ///
   compress nonote noobs gap label booktabs f   ///
   collabels(none) ///
   eqlabels("Uneq" "UneqImp" "UneqDisc") /// 
   nomtitles  
* F-test for each characteristic 
reg age i.schemes3 if study==2, vce(robust)
reg num_approvals i.schemes3 if study==2, vce(robust)
reg woman i.schemes3 if study==2, vce(robust)
reg student i.schemes3 if study==2, vce(robust)
reg nat_uk i.schemes3 if study==2, vce(robust)
reg employed i.schemes3 if study==2, vce(robust)
reg parttime i.schemes3 if study==2, vce(robust)
reg unemployed i.schemes3 if study==2, vce(robust)
reg notInPaidJob i.schemes3 if study==2, vce(robust)
reg otheremployment i.schemes3 if study==2, vce(robust)

* Study 3
* Both schemes
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==3
est clear
estpost tabstat age num_approvals woman student nat_uk white employed parttime ///
unemployed notInPaidJob otheremployment if study==3, c(stat) stat(mean sd) 
esttab, ///
 cells("mean(fmt(%13.2fc)) sd(fmt(%13.2fc))") nonumber ///
  nomtitle nonote noobs label collabels("Mean" "SD")
  esttab using  ".../JPEReplicationPackageDataverse/Tables/demographics_study3_allschemes.tex", replace ///
  main(mean %15.2f) aux(sd %15.2f) nostar nonumber unstack ///
   compress nonote noobs gap label booktabs f   ///
   collabels(none) ///
   eqlabels("All schemes") /// 
   nomtitles 
* Each scheme
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==3
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==3 & low_equal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==3 & high_equal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==3 & low_unequal==1 | study==3 & high_unequal==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if study==3 & low_disc==1 | study==3 & high_disc==1
est clear
estpost tabstat age num_approvals woman student nat_uk white employed parttime ///
unemployed notInPaidJob otheremployment if study==3, by(schemes4) c(stat) stat(mean sd) nototal
esttab, main(mean) aux(sd) nostar nonumber unstack ///
   nonote noobs label ///
   collabels(none) ///
   eqlabels("EqLow" "EqHigh" "Uneq" "UneqDisc") /// 
   nomtitles
 esttab using ".../JPEReplicationPackageDataverse/Tables/demographics_study3_byscheme.tex", replace ///
  main(mean %15.2f) aux(sd %15.2f) nostar nonumber unstack ///
   compress nonote noobs gap label booktabs f   ///
   collabels(none) ///
   eqlabels("EqLow" "EqHigh" "Uneq" "UneqDisc") /// 
   nomtitles  
* F-test for each characteristic 
reg age i.schemes4 if study==3, vce(robust)
reg num_approvals i.schemes4 if study==3, vce(robust)
reg woman i.schemes4 if study==3, vce(robust)
reg student i.schemes4 if study==3, vce(robust)
reg nat_uk i.schemes4 if study==3, vce(robust)
reg white i.schemes4 if study==3, vce(robust)
reg employed i.schemes4 if study==3, vce(robust)
reg parttime i.schemes4 if study==3, vce(robust)
reg unemployed i.schemes4 if study==3, vce(robust)
reg notInPaidJob i.schemes4 if study==3, vce(robust)
reg otheremployment i.schemes4 if study==3, vce(robust)



** Table A2: Standardized Labor Supply and Labor Supply per Payment Scheme
format l sd_l %12.2f
* Descriptive stats Studies 1 to 3
sum sd_l if low_equal==1, format
sum sd_l if low_unequal==1, format
sum sd_l if low_disc==1, format
sum sd_l if high_equal==1, format
sum sd_l if high_unequal==1, format
sum sd_l if high_disc==1, format
* Descriptive stats Study 1
sum sd_l if low_equal==1 & study==1, format
sum sd_l if low_unequal==1 & study==1, format
sum sd_l if low_disc==1 & study==1, format
sum sd_l if high_equal==1 & study==1, format
sum sd_l if high_unequal==1 & study==1, format
sum sd_l if high_disc==1 & study==1, format

sum l if low_equal==1 & study==1, format
sum l if low_unequal==1 & study==1, format
sum l if low_disc==1 & study==1, format
sum l if high_equal==1 & study==1, format
sum l if high_unequal==1 & study==1, format
sum l if high_disc==1 & study==1, format
tab l if low_equal==1 & study==1
tab l if low_unequal==1 & study==1
tab l if low_disc==1 & study==1
tab l if high_equal==1 & study==1
tab l if high_unequal==1 & study==1
tab l if high_disc==1 & study==1

* Descriptive stats Study 2
sum sd_l if low_unequal==1 & study==2, format
sum sd_l if lowwage_UID==1 & study==2, format
sum sd_l if low_disc==1 & study==2, format
sum sd_l if high_unequal==1 & study==2, format
sum sd_l if highwage_UID==1 & study==2, format
sum sd_l if high_disc==1 & study==2, format

sum l if low_unequal==1 & study==2, format
sum l if lowwage_UID==1 & study==2, format
sum l if low_disc==1 & study==2, format
sum l if high_unequal==1 & study==2, format
sum l if highwage_UID==1 & study==2, format
sum l if high_disc==1 & study==2, format
tab l if low_unequal==1 & study==2
tab l if lowwage_UID==1 & study==2
tab l if low_disc==1 & study==2
tab l if high_unequal==1 & study==2
tab l if highwage_UID==1 & study==2
tab l if high_disc==1 & study==2

* Descriptive stats Study 3
sum sd_l if low_equal==1 & study==3, format
sum sd_l if low_unequal==1 & study==3, format
sum sd_l if low_disc==1 & study==3, format
sum sd_l if high_equal==1 & study==3, format
sum sd_l if high_unequal==1 & study==3, format
sum sd_l if high_disc==1 & study==3, format

sum l if low_equal==1 & study==3, format
sum l if low_unequal==1 & study==3, format
sum l if low_disc==1 & study==3, format
sum l if high_equal==1 & study==3, format
sum l if high_unequal==1 & study==3, format
sum l if high_disc==1 & study==3, format
tab l if low_equal==1 & study==3
tab l if low_unequal==1 & study==3
tab l if low_disc==1 & study==3
tab l if high_equal==1 & study==3
tab l if high_unequal==1 & study==3
tab l if high_disc==1 & study==3



** Table A3: p-values of Differences in Labor Supply between Schemes in Studies 1 to 3 (three comparisons, Dunns' tests and Wald tests from Tobit Reg)
* Negative discrimination, Rank test
dunntest sd_l if low_wage==1, by(anywage_category)
matrix list r(P)
di 428+884+709
display .00051945
display .00022185
display .19950305
display .00051945*(3/2)
display .00022185*(3/1)
display .19950305*(3/3)
* Positive discrimination, Rank test
dunntest sd_l if high_wage==1, by(anywage_category)
matrix list r(P)
di 430+884+711
display .16721084
display .31521554
display .37178867
display .16721084*(3/1)
display .31521554*(3/2)
display .37178867*(3/3)
* Negative discrimination, Tobit
tobit l low_unequal low_disc i.study ///
if low_wage==1, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_unequal
tobit l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1, ll(0) ul(85) vce(r)
test 0=low_disc=low_unequal
test low_disc=low_unequal
di r(p)
test low_disc
di r(p)
test low_unequal
di r(p)
di .00087465*(3/2)
di .00032297*(3/1)
di .42673445*(3/3)
* Positive discrimination, Tobit
tobit l high_unequal high_disc i.study ///
if high_wage==1, ll(0) ul(85) vce(r)
test high_disc
test high_disc=high_unequal
tobit l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1, ll(0) ul(85) vce(r)
test 0=high_unequal=high_disc
test high_disc=high_unequal
di r(p)
test high_disc
di r(p)
test high_unequal
di r(p)
di .35129874*(3/2)
di .25112679*(3/1)
di .72918519*(3/3)



** Table A4: Tobit Regressions of Labor Supply on Schemes in Studies 1 to 3
* Column 1
tobit l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_unequal
test low_unequal
* Column 2
tobit l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1, ll(0) ul(85) vce(r)
test high_disc
test high_disc=high_unequal
test high_unequal



** Table A5: Tobit Regression of Labor Supply on Schemes with Both Types of Workers in Studies 1 to 3
* Need to create variable main_scheme with Table 1 code before running this code
gen unequal=0
replace unequal=1 if low_unequal==1 | high_unequal==1
gen disc=0
replace disc=1 if low_disc==1 | high_disc==1
* Column 1
tobit l unequal disc c.unequal#c.high_wage c.disc#c.high_wage high_wage ///
i.study##c.high_wage ///
c.age40##c.high_wage c.age50##c.high_wage c.age60##c.high_wage c.woman##c.high_wage ///
c.nat_uk##c.high_wage c.student##c.high_wage c.unemployed##c.high_wage ///
c.parttime##c.high_wage c.notInPaidJob##c.high_wage ///
c.otheremployment##c.high_wage c.num_approvals##c.high_wage ///
c.prolific_score##c.high_wage c.period1##c.high_wage c.period2##c.high_wage ///
c.period3##c.high_wage c.period4##c.high_wage c.c.period6##c.high_wage ///
c.period7##c.high_wage c.period8##c.high_wage c.period9##c.high_wage ///
c.period10##c.high_wage c.period11##c.high_wage c.period12##c.high_wage ///
c.period14##c.high_wage c.period15##c.high_wage c.period16##c.high_wage ///
c.period17##c.high_wage c.period18##c.high_wage c.period19##c.high_wage ///
if main_schemes==1, ll(0) ul(85) vce(r)
test  c.unequal#c.high_wage=c.disc#c.high_wage
test  c.disc#c.high_wage=0
* Without demographics (not in table)
tobit l unequal disc c.unequal#c.high_wage c.disc#c.high_wage high_wage ///
i.study##c.high_wage ///
if main_schemes==1, ll(0) ul(85) vce(r)
test  c.unequal#c.high_wage=c.disc#c.high_wage
test  c.disc#c.high_wage=0



** Table A6: Standardized Labor Supply and Labor Supply per Payment Scheme for Men
format l sd_l sd_l_gender %12.2f
* Descriptive stats Studies 1 to 3
sum sd_l_gender if low_equal==1 & woman==0, format
sum sd_l_gender if low_unequal==1 & woman==0, format
sum sd_l_gender if low_disc==1 & woman==0, format
sum sd_l_gender if high_equal==1 & woman==0, format
sum sd_l_gender if high_unequal==1 & woman==0, format
sum sd_l_gender if high_disc==1 & woman==0, format
* Descriptive stats Study 1
sum sd_l_gender if low_equal==1 & study==1 & woman==0, format
sum sd_l_gender if low_unequal==1 & study==1 & woman==0, format
sum sd_l_gender if low_disc==1 & study==1 & woman==0, format
sum sd_l_gender if high_equal==1 & study==1 & woman==0, format
sum sd_l_gender if high_unequal==1 & study==1 & woman==0, format
sum sd_l_gender if high_disc==1 & study==1 & woman==0, format
sum l if low_equal==1 & study==1 & woman==0, format
sum l if low_unequal==1 & study==1 & woman==0, format
sum l if low_disc==1 & study==1 & woman==0, format
sum l if high_equal==1 & study==1 & woman==0, format
sum l if high_unequal==1 & study==1 & woman==0, format
sum l if high_disc==1 & study==1 & woman==0, format
tab l if low_equal==1 & study==1 & woman==0
tab l if low_unequal==1 & study==1 & woman==0
tab l if low_disc==1 & study==1 & woman==0
tab l if high_equal==1 & study==1 & woman==0
tab l if high_unequal==1 & study==1 & woman==0
tab l if high_disc==1 & study==1 & woman==0
* Descriptive stats Study 2
sum sd_l_gender if low_unequal==1 & study==2 & woman==0, format
sum sd_l_gender if lowwage_UID==1 & study==2 & woman==0, format
sum sd_l_gender if low_disc==1 & study==2 & woman==0, format
sum sd_l_gender if high_unequal==1 & study==2 & woman==0, format
sum sd_l_gender if highwage_UID==1 & study==2 & woman==0, format
sum sd_l_gender if high_disc==1 & study==2 & woman==0, format
sum l if low_unequal==1 & study==2 & woman==0, format
sum l if lowwage_UID==1 & study==2 & woman==0, format
sum l if low_disc==1 & study==2 & woman==0, format
sum l if high_unequal==1 & study==2 & woman==0, format
sum l if highwage_UID==1 & study==2 & woman==0, format
sum l if high_disc==1 & study==2 & woman==0, format
tab l if low_unequal==1 & study==2 & woman==0
tab l if highwage_UID==1 & study==2 & woman==0
tab l if low_disc==1 & study==2 & woman==0
tab l if high_unequal==1 & study==2 & woman==0
tab l if highwage_UID==1 & study==2 & woman==0
tab l if high_disc==1 & study==2 & woman==0
* Descriptive stats Study 3
sum sd_l_gender if low_equal==1 & study==3 & woman==0, format
sum sd_l_gender if low_unequal==1 & study==3 & woman==0, format
sum sd_l_gender if low_disc==1 & study==3 & woman==0, format
sum sd_l_gender if high_equal==1 & study==3 & woman==0, format
sum sd_l_gender if high_unequal==1 & study==3 & woman==0, format
sum sd_l_gender if high_disc==1 & study==3 & woman==0, format
sum l if low_equal==1 & study==3 & woman==0, format
sum l if low_unequal==1 & study==3 & woman==0, format
sum l if low_disc==1 & study==3 & woman==0, format
sum l if high_equal==1 & study==3 & woman==0, format
sum l if high_unequal==1 & study==3 & woman==0, format
sum l if high_disc==1 & study==3 & woman==0, format
tab l if low_equal==1 & study==3 & woman==0
tab l if low_unequal==1 & study==3 & woman==0
tab l if low_disc==1 & study==3 & woman==0
tab l if high_equal==1 & study==3 & woman==0
tab l if high_unequal==1 & study==3 & woman==0
tab l if high_disc==1 & study==3 & woman==0



** Table A7: Standardized Labor Supply and Labor Supply per Payment Scheme for Women
format l sd_l sd_l_gender %12.2f
* Descriptive stats Studies 1 to 3
sum sd_l_gender if low_equal==1 & woman==1, format
sum sd_l_gender if low_unequal==1 & woman==1, format
sum sd_l_gender if low_disc==1 & woman==1, format
sum sd_l_gender if high_equal==1 & woman==1, format
sum sd_l_gender if high_unequal==1 & woman==1, format
sum sd_l_gender if high_disc==1 & woman==1, format
* Descriptive stats Study 1
sum sd_l_gender if low_equal==1 & study==1 & woman==1, format
sum sd_l_gender if low_unequal==1 & study==1 & woman==1, format
sum sd_l_gender if low_disc==1 & study==1 & woman==1, format
sum sd_l_gender if high_equal==1 & study==1 & woman==1, format
sum sd_l_gender if high_unequal==1 & study==1 & woman==1, format
sum sd_l_gender if high_disc==1 & study==1 & woman==1, format
sum l if low_equal==1 & study==1 & woman==1, format
sum l if low_unequal==1 & study==1 & woman==1, format
sum l if low_disc==1 & study==1 & woman==1, format
sum l if high_equal==1 & study==1 & woman==1, format
sum l if high_unequal==1 & study==1 & woman==1, format
sum l if high_disc==1 & study==1 & woman==1, format
tab l if low_equal==1 & study==1 & woman==1
tab l if low_unequal==1 & study==1 & woman==1
tab l if low_disc==1 & study==1 & woman==1
tab l if high_equal==1 & study==1 & woman==1
tab l if high_unequal==1 & study==1 & woman==1
tab l if high_disc==1 & study==1 & woman==1
* Descriptive stats Study 2
sum sd_l_gender if low_unequal==1 & study==2 & woman==1, format
sum sd_l_gender if lowwage_UID==1 & study==2 & woman==1, format
sum sd_l_gender if low_disc==1 & study==2 & woman==1, format
sum sd_l_gender if high_unequal==1 & study==2 & woman==1, format
sum sd_l_gender if highwage_UID==1 & study==2 & woman==1, format
sum sd_l_gender if high_disc==1 & study==2 & woman==1, format
sum l if low_unequal==1 & study==2 & woman==1, format
sum l if lowwage_UID==1 & study==2 & woman==1, format
sum l if low_disc==1 & study==2 & woman==1, format
sum l if high_unequal==1 & study==2 & woman==1, format
sum l if highwage_UID==1 & study==2 & woman==1, format
sum l if high_disc==1 & study==2 & woman==1, format
tab l if low_unequal==1 & study==2 & woman==1
tab l if lowwage_UID==1 & study==2 & woman==1
tab l if low_disc==1 & study==2 & woman==1
tab l if high_unequal==1 & study==2 & woman==1
tab l if highwage_UID==1 & study==2 & woman==1
tab l if high_disc==1 & study==2 & woman==1
* Descriptive stats Study 3
sum sd_l_gender if low_equal==1 & study==3 & woman==1, format
sum sd_l_gender if low_unequal==1 & study==3 & woman==1, format
sum sd_l_gender if low_disc==1 & study==3 & woman==1, format
sum sd_l_gender if high_equal==1 & study==3 & woman==1, format
sum sd_l_gender if high_unequal==1 & study==3 & woman==1, format
sum sd_l_gender if high_disc==1 & study==3 & woman==1, format
sum l if low_equal==1 & study==3 & woman==1, format
sum l if low_unequal==1 & study==3 & woman==1, format
sum l if low_disc==1 & study==3 & woman==1, format
sum l if high_equal==1 & study==3 & woman==1, format
sum l if high_unequal==1 & study==3 & woman==1, format
sum l if high_disc==1 & study==3 & woman==1, format
tab l if low_equal==1 & study==3 & woman==1
tab l if low_unequal==1 & study==3 & woman==1
tab l if low_disc==1 & study==3 & woman==1
tab l if high_equal==1 & study==3 & woman==1
tab l if high_unequal==1 & study==3 & woman==1
tab l if high_disc==1 & study==3 & woman==1



** Table A8: p-values of Differences in Labor Supply between Schemes in Studies 1 to 3, for Men and Women (three comparisons, Dunns' tests and Wald tests from Tobit Reg)
** Negative discrimination, rank test
* Men
dunntest sd_l_gender if low_wage==1  & woman==0, by(anywage_category)
matrix list r(P)
di 215 + 443 + 355
* BH correction
display 0.17321287*(6/4)
display 0.04965489*(6/3)
display 0.18227436*(6/5)
* Women
dunntest sd_l_gender if low_wage==1 & woman==1, by(anywage_category)
matrix list r(P)
di 213 + 441 + 354
* BH correction
display .00015016*(6/1)
display .00024582*(6/2)
display .29791938*(6/6)
** Positive discrimination, rank test
* Men
dunntest sd_l_gender if high_wage==1  & woman==0, by(anywage_category)
matrix list r(P)
di 215+438+357
* BH correction
display .00207019*(6/1)
display .10422305*(6/3)
display .12483046*(6/4)
* Women
dunntest sd_l_gender if high_wage==1 & woman==1, by(anywage_category)
matrix list r(P)
di 215+446+354
* BH correction
display .03827544*(6/2)
display .31062602*(6/6)
display .15771467*(6/5)
** Negative discrimination, Tobit
* Men
tobit l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1 & woman==0, ll(0) ul(85) vce(r)
test low_disc=low_unequal
di r(p)
test low_disc
di r(p)
test low_unequal
di r(p)
* BH correction
display .42437803*(6/4)
display .17747014*(6/3)
display .49643275*(6/5)
* Women
tobit l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1 & woman==1, ll(0) ul(85) vce(r)
test low_disc=low_unequal
di r(p)
test low_disc
di r(p)
test low_unequal
di r(p)
* BH correction
display .00006616*(6/1)
display .00013901*(6/2)
display .60831568*(6/6)
** Positive discrimination, Tobit
* Men
tobit l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1 & woman==0, ll(0) ul(85) vce(r)
test high_disc=high_unequal
di r(p)
test high_disc
di r(p)
test high_unequal
di r(p)
* BH correction
display .00288797*(6/1)
display .13804629*(6/4)
display .25700176*(6/5)
* Women
tobit l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1 & woman==1, ll(0) ul(85) vce(r)
test high_disc=high_unequal
di r(p)
test high_disc
di r(p)
test high_unequal
di r(p)
* BH correction
display .11822765*(6/2)
display .89683706*(6/6)
display .12699246*(6/3)



** Table A9: Tobit Regressions of Labor Supply on Schemes in Studies 1 to 3, for Men and Women
* Column 1 (Men)
tobit l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1 & woman==0, ll(0) ul(85) vce(r)
* Column 2 (Women)
tobit l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1 & woman==1, ll(0) ul(85) vce(r)
* Column 3 (Men)
tobit l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1 & woman==0, ll(0) ul(85) vce(r)
* Column 4 (Women)
tobit l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1 & woman==1, ll(0) ul(85) vce(r)



** Table A10: Tobit Regression of Labor Supply in Studies 1 to 3, for Men and Women with Interactions
* Column 1: Low-wage workers
tobit l low_unequal low_disc c.low_disc#c.woman woman c.low_unequal#c.woman i.study##c.woman ///
c.age40##c.woman c.age50##c.woman c.age60##c.woman c.nat_uk##c.woman c.student##c.woman c.unemployed##c.woman c.parttime##c.woman c.notInPaidJob##c.woman ///
c.otheremployment##c.woman c.num_approvals##c.woman c.prolific_score##c.woman ///
c.period1##c.woman c.period2##c.woman c.period3##c.woman c.period4##c.woman c.period6##c.woman c.period7##c.woman c.period8##c.woman ///
c.period9##c.woman c.period10##c.woman c.period11##c.woman c.period12##c.woman c.period14##c.woman c.period15##c.woman c.period16##c.woman ///
c.period17##c.woman c.period18##c.woman c.period19##c.woman ///
if low_wage==1, ll(0) ul(85) vce(r)
test  c.low_disc#c.woman=0
test  c.low_disc#c.woman=c.low_unequal#c.woman
* Without demographics (not in table)
tobit l low_unequal low_disc c.low_disc#c.woman woman c.low_unequal#c.woman i.study##c.woman ///
if low_wage==1, ll(0) ul(85) vce(r)
test  c.low_disc#c.woman=0
test  c.low_disc#c.woman=c.low_unequal#c.woman
* Column 2: High-wage workers
tobit l high_unequal high_disc c.high_disc#c.woman c.high_unequal#c.woman woman i.study##c.woman ///
c.age40##c.woman c.age50##c.woman c.age60##c.woman c.nat_uk##c.woman c.student##c.woman c.unemployed##c.woman c.parttime##c.woman c.notInPaidJob##c.woman ///
c.otheremployment##c.woman c.num_approvals##c.woman c.prolific_score##c.woman ///
c.period1##c.woman c.period2##c.woman c.period3##c.woman c.period4##c.woman c.period6##c.woman c.period7##c.woman c.period8##c.woman ///
c.period9##c.woman c.period10##c.woman c.period11##c.woman c.period12##c.woman c.period14##c.woman c.period15##c.woman c.period16##c.woman ///
c.period17##c.woman c.period18##c.woman c.period19##c.woman ///
if high_wage==1, ll(0) ul(85) vce(r)
test  c.high_disc#c.woman=0
test c.high_disc#c.woman=c.high_unequal#c.woman
* Without demographics (not in table)
tobit l high_unequal high_disc c.high_disc#c.woman c.high_unequal#c.woman woman i.study##c.woman ///
if high_wage==1, ll(0) ul(85) vce(r)
test  c.high_disc#c.woman=0
test c.high_disc#c.woman=c.high_unequal#c.woman



** Table A11: p-values of Differences in Participation (Providing Positive Labor Supply) between Schemes in Studies 1 to 3
* Use participate indicator variable
* Main
* Exact test
* Negative discrimination
tab participate if low_equal==1
tab participate if low_unequal==1
tab participate if low_disc==1
* Column 1, row 1: UneqDiscr vs EqLow
tab participate low_disc if low_disc==1 | low_equal==1, exact
return list
* Column 1, row 2: Dis: UneqDiscr vs Uneq
tab participate low_disc if low_disc==1 | low_unequal==1, exact
return list
* Positive discrimination
tab participate if high_equal==1
tab participate if high_unequal==1
tab participate if high_disc==1
* Column 3, row 1: UneqDiscr vs EqHigh
tab participate high_disc if high_disc==1 | high_equal==1, exact
return list
* Column 3, row 2: UneqDiscr vs Uneq
tab participate high_disc if high_disc==1 | high_unequal==1, exact
return list
* Linear probability model
* Column 2, rows 1-2
reg participate low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1, robust
test low_disc
test low_disc=low_unequal
* Column 4, rows 1-2
reg participate high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1, robust
test high_disc
test high_disc=high_unequal



** Table A12: Regressions of Participation (Providing Positive Labor Supply) and of Labor Supply Conditional on Participation on Schemes in Studies 1 to 3
* Low-wage workers
* Column 1: Linear probability model
reg participate low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1, robust
test low_unequal=low_disc
* Column 2: Labor supply conditional on supplying labor
reg l low_unequal low_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if low_wage==1 & participate==1, robust
test low_unequal=low_disc
* Column 3: Linear probability model
reg participate high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1, robust
test high_unequal=high_disc
* Column 4: Labor supply conditional on supplying labor
reg l high_unequal high_disc i.study ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19 ///
if high_wage==1 & participate==1, robust
test high_unequal=high_disc



** Table A13: Implicit Discrimination, p-values of Differences in Labor Supply between Schemes in Study 2 (two comparisons, Dunns' tests and Wald tests from Tobit Reg)
* Rank tests
* Column 1
dunntest l if low_wage_study2==1, by(lowwage_category_study2)
matrix list r(P)
di 265+266+265
di .31491815
di .00777066
* Column 3, BH correction
display .31491815*(2/2)
display .00777066*(2/1)
* Column 5
dunntest l if high_wage_study2==1, by(highwage_category_study2)
matrix list r(P)
di 266+266+265
di .45859587
di .07974368
* Column 7, BH correction
display .45859587*(2/2)
display .07974368*(2/1)
* Tobit
* Column 2
tobit l lowwage_UID lowwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
test lowwage_UID
test lowwage_UID=lowwage_UED
* Column 4
di 0.6995*(2/2)
di 0.0196*(2/1)
* Column 6
tobit l highwage_UID highwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if high_wage_study2==1 , ll(0) ul(85) vce(robust)
test highwage_UID 
test highwage_UID=highwage_UED 
* Column 8
di 0.8237*(2/2)
di 0.3754*(2/1)



** Table A14: Implicit Discrimination, p-values of Three Differences in Labor Supply between Schemes in Study 2
* Rank tests
* Column 1
dunntest l if low_wage_study2==1, by(lowwage_category_study2)
matrix list r(P)
di 265+266+265
di .31491815
di .00777066
di .02645018
* Column 3, BH correction
display .31491815*(3/3)
display .00777066*(3/1)
display .02645018*(3/2)
* Column 5
dunntest l if high_wage_study2==1, by(highwage_category_study2)
matrix list r(P)
di 266+266+265
di .45859587
di .07974368
di .09630037
* Column 7, BH correction
display .45859587*(3/3)
display .07974368*(3/1)
display .09630037*(3/2)
* Tobit
* Column 2
tobit l lowwage_UID lowwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
test lowwage_UID
test lowwage_UID=lowwage_UED
test lowwage_UED 
* Column 4
di 0.6995*(3/3)
di 0.0196*(3/1)
di 0.0419*(3/2)
* Column 6
tobit l highwage_UID highwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if high_wage_study2==1 , ll(0) ul(85) vce(robust)
test highwage_UID 
test highwage_UID=highwage_UED 
test highwage_UED 
* Column 8
di 0.8237*(3/3)
di 0.3754*(3/2)
di 0.2654*(3/1)



** Table A15: Tobit Regressions of Labor Supply on Schemes in Study 2
tobit l lowwage_UID lowwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
tobit l highwage_UID highwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if high_wage_study2==1 , ll(0) ul(85) vce(robust)



** Table A16: p-values of Differences in Labor Supply between Schemes in Study 2, for Men and Women
* Men
* Rank test
* Column 1
dunntest l if study==2 & low_wage_study2==1 & woman==0, by(lowwage_category_study2)
matrix list r(P)
di 133+132+133
di 0.29990396
di 0.02384232
* Column 3
di 0.29990396*(4/3)
di 0.02384232*(4/1)
* Column 5
dunntest l if study==2 & low_wage_study2==0 & woman==0, by(highwage_category_study2)
matrix list r(P)
di 133+134+132
di 0.10094105
di 0.33869578
* Column 7
di 0.10094105*(4/3)
di 0.33869578*(4/4)
* Tobit
* Column 2
tobit l lowwage_UID lowwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if study==2 & low_wage_study2==1 & woman==0, ll(0) ul(85) vce(r)
test lowwage_UID
test lowwage_UID==lowwage_UED
* Column 4
di 0.6583*(4/3)
di 0.0643*(4/1)
* Column 6
tobit l highwage_UID highwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if study==2 & low_wage_study2==0 & woman==0, ll(0) ul(85) vce(r)
test highwage_UID
test highwage_UID=highwage_UED
* Column 7
di 0.2556*(4/1)
di 0.4851*(4/3)
* Women
* Rank test
* Column 1
dunntest l if study==2 & low_wage_study2==1 & woman==1, by(lowwage_category_study2)
matrix list r(P)
di 132+134+132
di 0.43404565
di 0.07139226
* Column 3
di 0.43404565*(4/4)
di 0.07139226*(4/2)
* Column 7
dunntest l if study==2 & low_wage_study2==0 & woman==1, by(highwage_category_study2)
matrix list r(P)
di 133+132+133
di 0.069338
di 0.05496918
* Column 7
di 0.069338*(4/2)
di 0.05496918*(4/1)
* Tobit
* Column 2
tobit l lowwage_UID lowwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if study==2 & low_wage_study2==1 & woman==1, ll(0) ul(85) vce(r)
test lowwage_UID
test lowwage_UID==lowwage_UED
* Column 4
di 0.9998*(4/4)
di 0.1691*(4/2)
* Column 6
tobit l highwage_UID highwage_UED ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if study==2 & low_wage_study2==0 & woman==1, ll(0) ul(85) vce(r)
test highwage_UID
test highwage_UID=highwage_UED
* Column 8
di 0.3570*(4/2)
di 0.5134*(4/4)



** Table A17: Belief that Gender Discrimination Determined Wages in Study 2
* Both genders
sum PE9 if lowwage_U==1
sum PE9 if lowwage_UID==1 
sum PE9 if lowwage_UED==1
* Men
sum PE9 if lowwage_U==1 & woman==0
sum PE9 if lowwage_UID==1 & woman==0
sum PE9 if lowwage_UED==1 & woman==0
* Women
sum PE9 if lowwage_U==1 & woman==1
sum PE9 if lowwage_UID==1 & woman==1
sum PE9 if lowwage_UED==1 & woman==1



** Table 18: p-values of Negative Correlation between Low-Wage Workers' Labor Supply and Belief that Gender Discrimination Determined Wages in Study 2
* Spearman test p-values here
* Column 1
spearman l PE9_UsedDiscrimination if low_wage_study2==1
di r(p)/2
* Column 3
spearman l PE9_UsedDiscrimination if lowwage_UID==1
di r(p)/2
* Column 5
spearman l PE9_UsedDiscrimination if lowwage_UID==1 & woman==0
di 1-(r(p)/2)
* Column 7
spearman l PE9_UsedDiscrimination if lowwage_UID==1 & woman==1
di r(p)/2
* Tobit p-values for columns 2, 4, 6, and 8 are the minimum and maximum p-values obtained in Appendix A Tables A19 and A20



** Table A19: Tobit Regressions of Low-Wage Workers' Labor Supply on Belief that Discrimination Determined Wages in Study 2
* Labor supply
* Column 1
tobit l PE9_UsedDiscrimination ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 2
tobit l PE9_UsedDiscrimination ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 3
tobit l PE9_UsedDiscrimination PE11_BelOtherExists ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 4
tobit l PE9_UsedDiscrimination PE11_BelOtherExists PE3_TrustInst ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 5
tobit l PE9_UsedDiscrimination ///
if low_wage_study2==1 & lowwage_UID==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 6
tobit l PE9_UsedDiscrimination ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 7
tobit l PE9_UsedDiscrimination PE11_BelOtherExists ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 8
tobit l PE9_UsedDiscrimination PE11_BelOtherExists PE3_TrustInst ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2



** Table A20: Tobit Regressions of Low-Wage Workers' Labor Supply on Belief that Discrimination Determined Wages in UNEQIM of Study 2, for Men and Women
* Men
* Column 1
tobit l PE9_UsedDiscrimination ///
if low_wage_study2==1 & lowwage_UID==1 & woman==0, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di 1-(r(p)/2)
* Column 2
tobit l PE9_UsedDiscrimination ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1 & woman==0, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di 1-(r(p)/2)
* Column 3
tobit l PE9_UsedDiscrimination PE11_BelOtherExists ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1 & woman==0, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di 1-(r(p)/2)
* Column 4
tobit l PE9_UsedDiscrimination PE11_BelOtherExists PE3_TrustInst ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1 & woman==0, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di 1-(r(p)/2)
* Women
* Column 5
tobit l PE9_UsedDiscrimination ///
if low_wage_study2==1 & lowwage_UID==1 & woman==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 6
tobit l PE9_UsedDiscrimination ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1 & woman==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 7
tobit l PE9_UsedDiscrimination PE11_BelOtherExists ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1 & woman==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2
* Column 8
tobit l PE9_UsedDiscrimination PE11_BelOtherExists PE3_TrustInst ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage_study2==1 & lowwage_UID==1 & woman==1, ll(0) ul(85) vce(r)
test PE9_UsedDiscrimination
di r(p)/2



** Table A21: Demographic Characteristics of Workers in Study 4
* See section for tables from Study 4 below in this file



** Table A22: Standardized Labor Supply and Labor Supply per Payment Scheme in Study 4
* See section for tables from Study 4 below in this file



** Table A23: Tobit Regressions of Labor Supply on DISCRLIKELY Scheme in Study 4
* See section for tables from Study 4 below in this file



** Table A24: Tobit Regressions of Labor Supply on Schemes Accounting for Workers' Possible Attempts at Reciprocity
* Define controls
global controls age40 age50 age60 woman nat_uk ///
student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period1 period2 period3 period4 period6 period7 period8 ///
period9 period10 period11 period12 period14 period15 period16 ///
period17 period18 period19
* Erase graph export memory
est clear
* Comprehension question related to reciprocity (C4, correct answer is 4)
tab C4
gen fail_comquestion_reciprocity=0 if C4==4
replace fail_comquestion_reciprocity=1 if 4==1 & low_wage==1 |  C4==2 & low_wage==1 | C4==3 & low_wage==1
* Post-experiment questions on reciprocity
sum PE10_BeliefReward_withmorelines
tab PE10_BeliefReward_withmorelines
sum PE10_BeliefPunish_withmorelines
tab PE10_BeliefPunish_withmorelines
gen stronger_belief_reciprocity=0 if study==2 | study==3
replace stronger_belief_reciprocity=. if PE10_BeliefReward_withmorelines==. & study==2
replace stronger_belief_reciprocity=. if PE10_BeliefReward_withmorelines==. & ///
PE10_BeliefPunish_withmorelines==. & study==3
replace stronger_belief_reciprocity=1 if PE10_BeliefReward_withmorelines>=5 & PE10_BeliefReward_withmorelines!=.
replace stronger_belief_reciprocity=1 if PE10_BeliefPunish_withmorelines>=5 & PE10_BeliefPunish_withmorelines!=.
* Column 1, Tobit with full sample from Studies 1 to 3
eststo model1: tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Column 2, Tobit with sample who answered comprehension question correctly from Studies 1 to 3
eststo model2: tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & fail_comquestion_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Column 3, Tobit with sample who answered post-exp reciprocity questions from Studies 2 and 3
eststo model3: tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & stronger_belief_reciprocity!=., ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Column 4, Tobit with sample who do did not have stronger belief in reciprocity from Studies 2 and 3
eststo model4: tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & stronger_belief_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Column 5, Tobit with sample who do did not failed comprehension question and did not have stronger belief in reciprocity from Studies 2 and 3
eststo model5: tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & stronger_belief_reciprocity==0 & fail_comquestion_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Table core
esttab, keep(low_equal low_disc) b(3) se(3) noobs nomtitle label star($^{*}$ 0.10 $^{**}$ 0.05 $^{***}$ 0.01 $^{****}$ 0.001) nonotes
* esttab using "....", replace   ///
keep(low_equal low_disc) b(3) se(3) noobs nomtitle label star($^{*}$ 0.10 $^{**}$ 0.05 $^{***}$ 0.01 $^{****}$ 0.001) nonotes
** Notes to table:
* Post-experiment questions on reciprocity
sum PE10_BeliefReward_withmorelines
tab PE10_BeliefReward_withmorelines
sum PE10_BeliefPunish_withmorelines
tab PE10_BeliefPunish_withmorelines
* Additional checks, changing the cutoff to determine who more strongly believes in reciprocity
* (the scale in the note is from 1 to 7, but the scale we use here is from 0 to 6)
* Check 1
gen alt1_stronger_belief_reciprocity=0 if study==2 | study==3
replace alt1_stronger_belief_reciprocity=. if PE10_BeliefReward_withmorelines==. & study==2
replace alt1_stronger_belief_reciprocity=. if PE10_BeliefReward_withmorelines==. & ///
PE10_BeliefPunish_withmorelines==. & study==3
replace alt1_stronger_belief_reciprocity=1 if PE10_BeliefReward_withmorelines>=4 & PE10_BeliefReward_withmorelines!=.
replace alt1_stronger_belief_reciprocity=1 if PE10_BeliefPunish_withmorelines>=4 & PE10_BeliefPunish_withmorelines!=.
* Check 1, equivalent to column 4, Tobit with sample who do did not have stronger belief in reciprocity from Studies 2 and 3
tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & alt1_stronger_belief_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Check 1, equivalent to column 5, Tobit with sample who do did not failed comprehension question and did not have stronger belief in reciprocity from Studies 2 and 3
tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & alt1_stronger_belief_reciprocity==0 & fail_comquestion_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Check 2
gen alt2_stronger_belief_reciprocity=0 if study==2 | study==3
replace alt2_stronger_belief_reciprocity=. if PE10_BeliefReward_withmorelines==. & study==2
replace alt2_stronger_belief_reciprocity=. if PE10_BeliefReward_withmorelines==. & ///
PE10_BeliefPunish_withmorelines==. & study==3
replace alt2_stronger_belief_reciprocity=1 if PE10_BeliefReward_withmorelines==7 & PE10_BeliefReward_withmorelines!=.
replace alt2_stronger_belief_reciprocity=1 if PE10_BeliefPunish_withmorelines==7 & PE10_BeliefPunish_withmorelines!=.
* Check 2, equivalent to column 4, Tobit with sample who do did not have stronger belief in reciprocity from Studies 2 and 3
tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & alt2_stronger_belief_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal
* Check 2, equivalent to column 5, Tobit with sample who do did not failed comprehension question and did not have stronger belief in reciprocity from Studies 2 and 3
tobit l low_equal low_disc i.study ///
$controls ///
if low_wage==1 & alt2_stronger_belief_reciprocity==0 & fail_comquestion_reciprocity==0, ll(0) ul(85) vce(r)
test low_disc
test low_disc=low_equal



** Table A25: Work Morale in Study 3 (with non-standardized labor supply)
* Column 1, effect of discr on labor supply
tobit l low_equal low_disc ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3 & work_moral_motivation!=., ll(0) ul(85) vce(r)
* Divide two-sided p-values for coefficient of UNEQDISCR in table (indicated by a) and for the Wald test on EQLOW > UNEQDISC (one-sided p-value) shown in the bottom row of the table
test low_disc
di r(p)/2
test low_disc=low_equal
di r(p)/2
* Column 2, effect of discr on work morale
reg work_moral_motivation low_equal low_disc ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, vce(r)
test low_disc
* Column 3, corr between labor supply and work morale
tobit l work_moral_motivation ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
test work_moral_motivation
* Column 4, effect of discr on labor supply controlling for work morale
tobit l low_equal low_disc work_moral_motivation ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
* Divide two-sided p-values for coefficient of UNEQDISCR in table (indicated by a) and for the Wald test on EQLOW > UNEQDISC (one-sided p-value) shown in the bottom row of the table
test low_disc
di r(p)/2
test low_disc=low_equal
di r(p)/2
test work_moral_motivation
* Column 5, effect of discr on labor supply controlling for work morale and
* interaction term between work morale and discr scheme
tobit l low_equal low_disc work_moral_motivation int_disc_work_moral_motivation ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
* Divide two-sided p-values for coefficient of UNEQDISCR in table (indicated by a) and for the Wald test on EQLOW > UNEQDISC (one-sided p-value) shown in the bottom row of the table
test low_disc
di r(p)/2
test low_disc=low_equal
di r(p)/2
test work_moral_motivation
test int_disc_work_moral_motivation



** Table A26: Anger in Study 3 (with non-standardized labor supply)
* Column 1, effect of discr on anger
reg intensity_anger low_equal low_disc ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, vce(r)
test low_disc
* Column 2, corr between labor supply and anger
tobit l intensity_anger ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
test intensity_anger
* Column 3, effect of discr on labor supply controlling for anger
tobit l low_equal low_disc intensity_anger ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
test low_disc
* Divide two-sided p-value below by two for last row of table with one-sided p
test low_disc=low_equal
di r(p)/2
test intensity_anger
* Column 4, effect of discr on labor supply controlling for anger and
* interaction term between work morale and discr scheme
tobit l low_equal low_disc intensity_anger int_disc_intensity_anger ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
test low_disc
* Divide two-sided p-value below by two for last row of table with one-sided p
test low_disc=low_equal
di r(p)/2
test intensity_anger
test int_disc_intensity_anger
* Column 5, effect of discr on labor supply controlling for anger and work morale
tobit l low_equal low_disc intensity_anger work_moral_motivation ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
test low_disc
* Divide two-sided p-value below by two for last row of table with one-sided p
test low_disc=low_equal
di r(p)/2
test intensity_anger
test work_moral_motivation
* Column 6, effect of discr on labor supply controlling for anger and work morale with two interaction terms
tobit l low_equal low_disc intensity_anger int_disc_intensity_anger ///
work_moral_motivation int_disc_work_moral_motivation ///
age40 age50 age60 woman nat_uk student unemployed parttime notInPaidJob ///
otheremployment num_approvals prolific_score ///
period* ///
if low_wage==1 & study==3, ll(0) ul(85) vce(r)
test low_disc
* Divide two-sided p-value below by two for last row of table with one-sided p
test low_disc=low_equal
di r(p)/2
test intensity_anger
test work_moral_motivation
test int_disc_intensity_anger
test int_disc_work_moral_motivation



** Table A27: Demographic Characteristics in the Sample from Studies 1 to 3 and in the UK population
* Statistics for our sample
* Row 1 median age
sum age, detail
* Row 2 % between 20 and 29 years
gen age_20to29=0 if age!=.
replace age_20to29=1 if age>=20 & age<=29
sum age_20to29
* Row 3 % between 30 and 49 years
gen age_30to49=0 if age!=.
replace age_30to49=1 if age>=30 & age<=49
sum age_30to49
* Row 4 % 50+ years
gen age_50plus=0 if age!=.
replace age_50plus=1 if age>=50 & age!=.
sum age_50plus
* Row 5, % woman
sum woman
* Row 6, % UK nationals
sum nat_uk
* Row 7, % caucasian/white
sum white
* Row 8, % Attained bachelor's degree, 25 to 64 year olds
gen attained_bachelor=0 if Highesteducationlevel!=""
replace attained_bachelor=1 if Highesteducationlevel=="Doctorate degree (PhD/other)"
replace attained_bachelor=1 if Highesteducationlevel=="Doctorate degree (PhD/MD/other)"
replace attained_bachelor=1 if Highesteducationlevel=="Graduate degree (MA/MSc/MPhil/other)"
replace attained_bachelor=1 if Highesteducationlevel=="Undergraduate degree (BA/BSc/other)"
replace attained_bachelor=. if Highesteducationlevel=="DATA_EXPIRED"
sum attained_bachelor if age>=25 & age<=64
* Row 9, % labor force participation, 25 to 64 year olds (part or full time job between 25 and 64 years)
gen job_full_or_parttime=0 if employed!=.
replace job_full_or_parttime=1 if employed==1 | parttime==1
sum job_full_or_parttime if age>=25 & age<=64
* Row 10, Median annual household income (after tax)
gen household_after_tax_GBP=.
replace household_after_tax_GBP=0 if HouseholdIncomeGBP=="Less than Â£10,000" ///
| HouseholdIncomeGBP=="Less than £10,000"
replace household_after_tax_GBP=1 if HouseholdIncomeGBP=="Â£10,000 - Â£15,999" ///
| HouseholdIncomeGBP=="£10,000 - £15,999"
replace household_after_tax_GBP=2 if HouseholdIncomeGBP=="Â£16,000 - Â£19,999" ///
| HouseholdIncomeGBP=="£16,000 - £19,999" 
replace household_after_tax_GBP=3 if HouseholdIncomeGBP=="Â£20,000 - Â£29,999" ///
| HouseholdIncomeGBP=="£20,000 - £29,999"
replace household_after_tax_GBP=4 if HouseholdIncomeGBP=="Â£30,000 - Â£39,999" ///
| HouseholdIncomeGBP=="£30,000 - £39,999" 
replace household_after_tax_GBP=5 if HouseholdIncomeGBP=="Â£40,000 - Â£49,999" ///
| HouseholdIncomeGBP=="£40,000 - £49,999"
replace household_after_tax_GBP=6 if HouseholdIncomeGBP=="Â£50,000 - Â£59,999" ///
| HouseholdIncomeGBP=="£50,000 - £59,999"
replace household_after_tax_GBP=7 if HouseholdIncomeGBP=="Â£60,000 - Â£69,999" ///
| HouseholdIncomeGBP=="£60,000 - £69,999" 
replace household_after_tax_GBP=8 if HouseholdIncomeGBP=="Â£70,000 - Â£79,999" ///
| HouseholdIncomeGBP=="£70,000 - £79,999"
replace household_after_tax_GBP=9 if HouseholdIncomeGBP=="Â£80,000 - Â£89,999" ///
| HouseholdIncomeGBP=="£80,000 - £89,999"
replace household_after_tax_GBP=10 if HouseholdIncomeGBP=="Â£90,000 - Â£99,999" ///
| HouseholdIncomeGBP=="£90,000 - £99,999"
replace household_after_tax_GBP=11 if HouseholdIncomeGBP=="Â£100,000 - Â£149,999" ///
| HouseholdIncomeGBP=="£100,000 - £149,999"
replace household_after_tax_GBP=12 if HouseholdIncomeGBP=="More than Â£150,000" ///
| HouseholdIncomeGBP=="More than £150,000"
destring household_after_tax_GBP, replace
sum household_after_tax_GBP, detail



** Table A28: Study 5, Survey of Women Who Report Having Experienced Gender Discrimination at Work
* See section for table from Study 5 below in this file



** Table A29: Tobit Regression of Labor Supply in Studies 2 to 3, for Low-Wage Women who Experienced Gender Discrimination at Work and Low-Wage Women who did not Experience such Discrimination
tab PE13_PreviouslyDiscriminatedWork if woman==1
gen wom_experienced_discrim_work=.
replace wom_experienced_discrim_work=0 if ///
PE13_PreviouslyDiscriminatedWork==0 & woman==1
replace wom_experienced_discrim_work=1 if ///
PE13_PreviouslyDiscriminatedWork==1 & woman==1 | ///
PE13_PreviouslyDiscriminatedWork==2 & woman==1 | ///
PE13_PreviouslyDiscriminatedWork==3 & woman==1 | ///
PE13_PreviouslyDiscriminatedWork==4 & woman==1 
tab wom_experienced_discrim_work if woman==1
* Column 1: Low-wage women, without demographics
tobit l low_unequal low_disc c.low_disc#c.wom_experienced_discrim_work wom_experienced_discrim_work c.low_unequal#c.wom_experienced_discrim_work i.study##c.wom_experienced_discrim_work ///
if low_wage==1 & woman==1, ll(0) ul(85) vce(r)
test c.low_disc#c.wom_experienced_discrim_work=0
test c.low_disc#c.wom_experienced_discrim_work=c.low_unequal#c.wom_experienced_discrim_work
* Column 2: Low-wage women, with demographics
tobit l low_unequal low_disc c.low_disc#c.wom_experienced_discrim_work wom_experienced_discrim_work c.low_unequal#c.wom_experienced_discrim_work i.study##c.wom_experienced_discrim_work ///
c.age40##c.wom_experienced_discrim_work c.age50##c.wom_experienced_discrim_work c.age60##c.wom_experienced_discrim_work c.nat_uk##c.wom_experienced_discrim_work c.student##c.wom_experienced_discrim_work c.unemployed##c.wom_experienced_discrim_work c.parttime##c.wom_experienced_discrim_work c.notInPaidJob##c.wom_experienced_discrim_work ///
c.otheremployment##c.wom_experienced_discrim_work c.num_approvals##c.wom_experienced_discrim_work c.prolific_score##c.wom_experienced_discrim_work ///
c.period1##c.wom_experienced_discrim_work c.period2##c.wom_experienced_discrim_work c.period3##c.wom_experienced_discrim_work c.period4##c.wom_experienced_discrim_work c.period6##c.wom_experienced_discrim_work c.period7##c.wom_experienced_discrim_work c.period8##c.wom_experienced_discrim_work ///
c.period9##c.wom_experienced_discrim_work c.period10##c.wom_experienced_discrim_work c.period11##c.wom_experienced_discrim_work c.period12##c.wom_experienced_discrim_work c.period14##c.wom_experienced_discrim_work c.period15##c.wom_experienced_discrim_work c.period16##c.wom_experienced_discrim_work ///
c.period17##c.wom_experienced_discrim_work c.period18##c.wom_experienced_discrim_work c.period19##c.wom_experienced_discrim_work ///
if low_wage==1 & woman==1, ll(0) ul(85) vce(r)
test c.low_disc#c.wom_experienced_discrim_work=0
test c.low_disc#c.wom_experienced_discrim_work=c.low_unequal#c.wom_experienced_discrim_work





**************************
*** Text in Appendix B ***
**************************


** Post-experiment question: discussed this experiment before participating (No-Yes scale)
tab PE4_DiscussSomeoneElse
** Post-experiment question: helped by someone else (No-Yes scale)
tab PE5_HelpSomeoneElse
** Post-experiment question: understand instructions (1 to 7 scale)
sum PE1
** Post-experiment question: trust instructions (1 to 7 scale)
sum PE3








**************************
*** Appendix A Tables ****
*** from Study 4 *********
*** A21, A22, A23 ********
**************************

**************************
**** Run analysis file ***
**** for study 4 *********
**************************

clear all
set more off

cd ".../JPEReplicationPackageDataverse/"
qui: do GBR24AnalysisStudy4.do



** Table A21 - Demographic Characteristics of Workers in Study 4
* All schemes
* Each scheme separately
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if low_unlikely==1
sum age num_approvals woman student nat_uk white employed parttime  ///
unemployed notInPaidJob otheremployment if low_likely==1
* t-test for each characteristic 
ttest age, by(low_likely)
ttest num_approvals, by(low_likely)
ttest woman, by(low_likely)
ttest student, by(low_likely)
ttest nat_uk, by(low_likely)
ttest white, by(low_likely)
ttest employed, by(low_likely)
ttest parttime, by(low_likely)
ttest unemployed, by(low_likely)
ttest notInPaidJob, by(low_likely)
ttest otheremployment, by(low_likely)



** Table A22 - Standardized Labor Supply and Labor Supply per Payment Scheme in Study 4
* Labor supply
sum l if low_unlikely==1
sum l if low_likely==1
tab l if low_unlikely==1
tab l if low_likely==1
* standardized labor supply
sum sd_l if low_unlikely==1
sum sd_l if low_likely==1



** Table A23 - Tobit Regressions of Labor Supply on DISCRLIKELY Scheme in Study 4
tobit l low_likely age40 age50 age60 num_approvals student nat_uk white parttime unemployed notInPaidJob otheremployment period*, ll(0) ul(85) vce(robust)
* Note:
tobit l low_likely, ll(0) ul(85) vce(robust)
test low_likely
di r(p)/2





**************************
*** Appendix A Tables ****
*** from Study 5 *********
*** A28 ******************
**************************

**************************
**** Run analysis file ***
**** for study 5 *********
**************************

clear all
set more off

cd ".../JPEReplicationPackageDataverse/"
qui: do GBR24AnalysisStudy5.do



** Table A28: Study 5, Survey of Women Who Report Having Experienced Gender Discrimination at Work
* Q1
tab Q_workhours
* Q2 (all sectors with less than a rounded 4% are grouped under Other sectors)
tab Q_worksector
di 0.25+0.75+2.74+1.00+1.75+2.00+0.50
* Q3
tab Q_leavejob
* Q4
tab Q_leavejob_discrim
* Q5
tab Q_leavejob_newjob
* Q6
tab Q_leavejob_salary
* Q7
tab Q_discr_duration
* Q8
tab Q_motiva
* Q9
tab Q_motiva_duration
* Q10
tab Q_hours1_formalhours
tab Q_hours2_leavingtime
tab Q_hours3_breaks
* Q11
tab Q_hours_duration
* Q12
tab Q_produc
* Q13
tab Q_produc_duration
* Q14
tab Q_report
* Q15
tab Q_employer_measures
* Demographic characteristics info for table's note:
sum age student nat_uk white employed parttime

